﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using Converter;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Telerik.Windows.Controls;
using System.Resources;
using System.Reflection;
using Accounting.Library;
using csla4Skeleton.UI.SL.NghiepVu.TinhGiaThanh.GT_KyGiaThanh;

namespace csla4Skeleton.UI.SL.NghiepVu.TinhGiaThanh.GT_KetChuyenCP
{
    public partial class FormThongTin : ChildWindow
    {
        GT_KetChuyenCP_ListViewModel ListViewModel;
        GT_KetChuyenCP_ChildWindow gt_KetChuyenCP_ChildWindow;
        public event EventHandler Saved;
        public FormThongTin(GT_KetChuyenCP_ListViewModel listViewModel)
        {        
            LocalizationConverter converter = new LocalizationConverter();
            converter.LocalResourceManager = new ResourceManager("ccsla4Skeleton.UI.SL.NghiepVu.TaiSanCoDinh.GT_KetChuyenCP.Resources", Assembly.GetExecutingAssembly());
            this.Resources.Add("Localization", converter);
            InitializeComponent();
            this.ListViewModel = listViewModel;

            System.Windows.Data.CollectionViewSource gt_KyGiaThanh_CollectionViewSource = (System.Windows.Data.CollectionViewSource)this.Resources["GT_KyGiaThanh_ListViewModelSource"];
            GT_KyGiaThanh_ListViewModel gt_KyGiaThanh_ListViewModel = new GT_KyGiaThanh_ListViewModel(BusinessConfiguration.Configuration.ComboboxFetchMode);
            gt_KyGiaThanh_CollectionViewSource.Source = new List<object> { gt_KyGiaThanh_ListViewModel };

           
        }

        private void CancelButton_Click(object sender, RoutedEventArgs e)
        {
            this.DialogResult = false;
        }

        private void TinhKetChuyenCPButton_Click(object sender, RoutedEventArgs e)
        {

            if (KyGiaThanh_ComboBox.SelectedItem == null)
            {
                MessageBoxResult notice = MessageBox.Show("Bạn chưa nhập liệu đầy đủ", "Chưa nhập liệu", MessageBoxButton.OKCancel);
            }
            else
            {

                IList<GT_KetChuyenCPInfo> list = ListViewModel.Model.getListOfInfo();
                GT_KetChuyenCPInfo KetChuyenCP = null;
                foreach (GT_KetChuyenCPInfo item in list)
                {
                    if (item.KyGiaThanhInfo == ((GT_KyGiaThanhInfo)this.KyGiaThanh_ComboBox.SelectedItem).Ma)
                    {
                        KetChuyenCP = item;
                    }
                }
                if (KetChuyenCP != null)
                {

                    MessageBoxResult result = MessageBox.Show("Chứng từ kết chuyển tính giá thành này đã tồn tại, bạn có muốn xem hay không?", "Xem chứng từ kết chuyển tính giá thành", MessageBoxButton.OKCancel);
                    if (result == MessageBoxResult.OK)
                    {

                        gt_KetChuyenCP_ChildWindow = new GT_KetChuyenCP_ChildWindow(KetChuyenCP.Khoa);
                        gt_KetChuyenCP_ChildWindow.Show();
                        gt_KetChuyenCP_ChildWindow.TinhKetChuyenCPCompleteted += new EventHandler(OnTinhKetChuyenCPCompleteted);
                        gt_KetChuyenCP_ChildWindow.OnClosedChildWindow += new EventHandler(OnClosedWindow);
                    }
                }
                else
                {

                    gt_KetChuyenCP_ChildWindow = new GT_KetChuyenCP_ChildWindow((GT_KyGiaThanhInfo)this.KyGiaThanh_ComboBox.SelectedItem, this.DienGiaiTextBox.Text);
                    gt_KetChuyenCP_ChildWindow.Show();
                    gt_KetChuyenCP_ChildWindow.Visibility = Visibility.Collapsed;

                    this.TinhKetChuyenCPItemButton.IsEnabled = false;
                    this.BoQuaItemButton.IsEnabled = false;
                    gt_KetChuyenCP_ChildWindow.TinhKetChuyenCPCompleteted += new EventHandler(OnTinhKetChuyenCPCompleteted);
                    gt_KetChuyenCP_ChildWindow.OnClosedChildWindow += new EventHandler(OnClosedWindow);
                }
            }
            
        }
        private void DatePicker_KeyUp(object sender, KeyEventArgs e)
        {
            
            ControlBehavior.DatePickerBehaviors.DatePicker_KeyUp(sender, e, null);
            
        }
        private void OnClosedWindow(object sender, EventArgs e)
        {
            this.Close();
        }

        private void OnTinhKetChuyenCPCompleteted(object sender, EventArgs e)
        {
            if (gt_KetChuyenCP_ChildWindow.CountSave == 0)
            {

                MessageBoxResult result = MessageBox.Show("Chứng từ kết chuyển tính giá thành đã xong, bạn có muốn xem chứng từ kết chuyển tính giá thành không ?", "Xem chứng từ kết chuyển tính giá thành", MessageBoxButton.OKCancel);
                if (result == MessageBoxResult.OK)
                {
                    gt_KetChuyenCP_ChildWindow.Visibility = Visibility.Visible;
                    gt_KetChuyenCP_ChildWindow.CountSave++;
                    if (Saved != null)
                    {
                        Saved(sender, e);
                    }

                }
                else
                {
                    gt_KetChuyenCP_ChildWindow.CountSave++;
                    gt_KetChuyenCP_ChildWindow.Close();
                    if (Saved != null)
                    {
                        Saved(sender, e);
                    }

                }
            }
            else
            {
                if (Saved != null)
                {
                    Saved(sender, e);
                }
            }
           
        }
        
    }
}

